package br.unisinos.pdm.dao;

import com.db4o.internal.IoAdaptedObjectContainer;

/**
 * Classe abstrata para acesso a banco de dados 
 */
public abstract class GenericDAO {

	protected IoAdaptedObjectContainer db;
	
	public GenericDAO(IoAdaptedObjectContainer db) {
		this.db = db;
	}
	
	/**
	 * Utilizado para salvar ou atualizar um objeto de banco de dados
	 */
	public void save(Object o) {
		db.store(o);
		db.commit();
	}
	
	/**
	 * Utilizado para remover um objeto do banco de dados
	 */
	public void delete(Object o) {
		db.delete(o);
		db.commit();
	}
	
	/**
	 * Utilizado para atualizar um objeto no banco de dados 
	 */
	public void update(Object o) {
		db.store(o);
		db.commit();
	}
}
